웹개발 및 최신 테크 소식을 전하는 블로그, 웹이즈프리

HOME > php

[PHP] 서버에 위치한 파일 또는 디렉토리 삭제, unlink(), rmdir()

Last Modified : 2017-12-25 / Created : 2016-07-03
51,439
View Count


php를 사용하는 경우 서버에 위치한 디렉토리 및 파일을 삭제하는 방법에 대하여 알아보려고합니다. 파일을 추가하는 방법은 다소 복잡할 수 있지만 파일을 삭제하는 방법은 매우 간단하죠. 그럼 아래에서 알아보세요!



# php 파일 삭제하는 방법

PHP는 파일 삭제를 위한 방법으로 unlink()를 그리고 디렉토리를 제거하는 방법으로 rmdir() 함수를 제공합니다. 먼저 파일을 삭제할 수 있는 unlink() 함수를 알아보면 간단한 사용방법은 아래와 같습니다.

unlink('파일명')


! unlink() 파일삭제 예제보기

매우 간단하게 위의 함수를 사용하면 파일 삭제가 가능하다. linux를 사용해본 적이 있다면 동일한 이름의 함수와 비슷합니다. 만약 서버에 위치한 이미지 파일 중에서 파일명이 webisfree.jpg 파일을 삭제한다면 아래와 같이 실행합니다.
<?php
  unlink("webisfree.jpg");
?>

매우 간단하게 파일 삭제가 이루어졌다. 만약 경로가있는 경우 파일경로를 함께 입력해줍니다.
<?php
   unlink("./image/webisfree.jpg");
?>

unlink() 함수는 한번에 하나씩만 제거하기 때문에 만약 파일이 다수 존재하는 경우에는 for문이나 제이쿼리 foreach()문을 사용할 수 있습니아. 예를들어 배열 $files가 삭제할 파일명을 가지고 있는 경우 아래처럼 사용이 가능하죠.
<?php
   foreach ($files as $item) {
      unlink($item);
   }
?>

그렇다면 디렉토리(경로)의 삭제는 어떻게 할까요? 이 역시 매우 간단하며 rmdir()함수를 사용합니다. 사용방법은 아래를 참고하세요.


# rmdir() 경로(디렉토리) 삭제 예제보기

먼저 간단한 문법 및 사용방법입니다.

rmdir('삭제할 경로명')

리눅스를 사용해 본적이 있다면 친숙할 수 있으며 리눅스 명령어와 동일한 이름입니다. rmdir() 은 Remove Directory의 약자로 폴더를 삭제하는 방법은 파일 삭제 방법과 거의 동일하며 위와같이 삭제할 경로명을 인자로 넘겨 삭제하죠.

그럼 아래의 예제를 보세요. 아래는 upload라는 경로를 삭제하는 예제로 앞에서 배운 rmdir()을 사용하겠습니다.
<?php
  rmdir('/upload/');
?>

위와 같이 매우 간단하게 경로(폴더)를 삭제할 수 있다. 참고로 해당 경로에 파일이 남아있는 경우 false를 반환하며 삭제되지 않습니다.  그렇기 때문에 안에 파일이 남아 있는지 확인이 필요합니다.

! php 서버 경로 생성 위 예제에서는 경로, 디렉토리를 샂게하는 방법에 대하여 알아봤으나 만약 반대로 경로를 생성하려면 어떻게 할까요? 이때는 mkdir() 함수를 사용하여 생성할 수 있습니다.

mkdir('생성할 경로명', 부여할 권한);

아래 예제를 봐주세요.
<?php
  mkdir('/2016/01/', 0777');
?>

위 예제는 /2016/01/ 이라는 디렉토리를 생성하고 권한 0777을 부여하는 예제입니다. 폴더를 생성시 권한을 설정한다는 점도 꼭 함께 알아두세요. 참고로 만약 권한 설정값을 지정하지 않는 경우 default 값으로 0777이 설정되게 됩니다.

Previous

[PHP] 변수의 자료형을 숫자, 문자로 변환하기

Previous

[PHP] 배열에 사용하는 반복문, foreach() { }